﻿using System;
using System.Collections.Generic;
using System.Text;
using XDesigner.ORM;
using XDesigner.AppFramework.DOM;

namespace 刘颜红销售项目管理.Business.DOM
{
    [System.Drawing.ToolboxBitmap( typeof( Class人员基本信息 ))]
    [ORMType("人员基本信息表", LogReference = ORMBooleanValue.True)]
    public class Class人员基本信息 : IComparable
    {
        private int _RecordID = 0;
        [ORMKeyField()]
        [ORMNewValueGenerate(ORMNewValueGenerateStyle.Increase)]
        public virtual int RecordID
        {
            get { return _RecordID; }
            set { _RecordID = value; }
        }


        private string _姓名 = null;
        [ORMSort( ORMSortStyle.Ascent )]
        public virtual string 姓名
        {
            get { return _姓名; }
            set { _姓名 = value; }
        }

        private Class工作单位 _所属单位 = null;
        [ORMField("所属单位ID")]
        [ORMRelation( ORMRelationStyle.OneToOne )]
        [System.Xml.Serialization.XmlIgnore()]
        [ORMDelay()]
        [ORMParentReference()]
        public virtual Class工作单位 所属单位
        {
            get { return _所属单位; }
            set { _所属单位 = value; }
        }

        public string 所属单位名称
        {
            get
            {
                if (_所属单位 == null)
                    return "";
                else
                    return _所属单位.单位名称;
            }
        }

        private string _部门 = null;

        public virtual string 部门
        {
            get { return _部门; }
            set { _部门 = value; }
        }

        private string _职位 = null;

        public virtual string 职位
        {
            get { return _职位; }
            set { _职位 = value; }
        }

        private string _电话 = null;

        public virtual string 电话
        {
            get { return _电话; }
            set { _电话 = value; }
        }

        private string _传真 = null;

        public virtual string 传真
        {
            get { return _传真; }
            set { _传真 = value; }
        }

        private string _手机号 = null;

        public virtual string 手机号
        {
            get { return _手机号; }
            set { _手机号 = value; }
        }

        private string _备注 = null;

        public virtual string 备注
        {
            get { return _备注; }
            set { _备注 = value; }
        }

        private string _电子信箱 = null;

        public virtual string 电子信箱
        {
            get { return _电子信箱; }
            set { _电子信箱 = value; }
        }

        private string _QQ号 = null;

        public virtual string QQ号
        {
            get { return _QQ号; }
            set { _QQ号 = value; }
        }

        private List<Class特殊日期> _特殊纪念日 = null;
        [ORMDelay()]
        [ORMRelation( ORMRelationStyle.OneToMany )]
        public virtual List<Class特殊日期> 特殊纪念日
        {
            get
            {
                return _特殊纪念日; 
            }
            set
            {
                _特殊纪念日 = value; 
            }
        }

        public override string ToString()
        {
            return this.姓名;
        }

        private List<Class项目基本信息> _项目列表 = null;
        [ORMRelation( ORMRelationStyle.OneToMany )]
        [ORMDelay()]
        public virtual List<Class项目基本信息> 项目列表
        {
            get { return _项目列表; }
            set { _项目列表 = value; }
        }


        private List<Class客户访问记录> _访问记录 = null;
        [ORMRelation(ORMRelationStyle.OnetoManyExt )]
        [ORMDelay()]
        public virtual List<Class客户访问记录> 访问记录
        {
            get
            {
                return _访问记录; 
            }
            set
            {
                _访问记录 = value; 
            }
        }
         

        #region IComparable 成员

        int IComparable.CompareTo(object obj)
        {
            Class人员基本信息 p = obj as Class人员基本信息;
            if (p != null)
            {
                return string.Compare(this.姓名, p.姓名);
            }
            else
            {
                return 0;
            }
        }

        #endregion
    }
     
}
